#!/bin/bash
set -x

# 清除代理环境变量
clear_proxy() {
    unset http_proxy
    unset https_proxy
}

# 检查是否为 root 用户
check_root() {
    if [ "$EUID" -ne 0 ]; then
        echo "请使用 root 用户运行此脚本"
        exit 1
    fi
}

# 安装 K3s Worker
install_k3s_worker() {
    # 请替换为实际的主节点 IP 和令牌
    MASTER_IP="your_master_ip"
    K3S_TOKEN="your_k3s_token"

    curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh -o k3s-install.sh
    # 尝试转换换行符
    if command -v dos2unix &> /dev/null
    then
        dos2unix k3s-install.sh
    elif command -v sed &> /dev/null
    then
        sed -i 's/\r$//' k3s-install.sh
    else
        echo "未找到 dos2unix 或 sed 工具，请手动转换 k3s-install.sh 的换行符格式。"
        exit 1
    fi

    INSTALL_K3S_MIRROR=cn  K3S_TOKEN=12345678 \
    INSTALL_K3S_VERSION=v1.28.9+k3s1 \
    K3S_URL="https://$MASTER_IP:6443" \
    K3S_TOKEN="$K3S_TOKEN" \
    sh k3s-install.sh

    if [ $? -ne 0 ]; then
        echo "K3s Worker 安装脚本执行失败，请检查网络或脚本内容。"
        exit 1
    fi
}

# 检查 K3s 可执行文件是否存在
check_k3s_executable() {
    if [ -f "/usr/local/bin/k3s" ]; then
        echo "K3s 可执行文件已成功安装"
    else
        echo "K3s 可执行文件未找到，请检查安装过程是否出错"
    fi
}

# 主流程
clear_proxy
check_root
install_k3s_worker
check_k3s_executable

# 输出安装完成信息
echo "K3s Worker 节点安装完成"

#!/bin/bash
set -x

# 清除代理环境变量
clear_proxy() {
    unset http_proxy
    unset https_proxy
}

# 检查是否为 root 用户
check_root() {
    if [ "$EUID" -ne 0 ]; then
        echo "请使用 root 用户运行此脚本"
        exit 1
    fi
}

# 安装 K3s Worker
install_k3s_worker() {
    # 请替换为实际的主节点 IP 和令牌
    MASTER_IP="your_master_ip"
    K3S_TOKEN="your_k3s_token"

    curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh -o k3s-install.sh
    # 尝试转换换行符
    if command -v dos2unix &> /dev/null
    then
        dos2unix k3s-install.sh
        chmod +x k3s-install.sh
    elif command -v sed &> /dev/null
    then
        sed -i 's/\r$//' k3s-install.sh
    else
        echo "未找到 dos2unix 或 sed 工具，请手动转换 k3s-install.sh 的换行符格式。"
        exit 1
    fi

    INSTALL_K3S_MIRROR=cn \
    K3S_URL="https://$MASTER_IP:6443" \
    K3S_TOKEN="$K3S_TOKEN" \
    sh k3s-install.sh

    if [ $? -ne 0 ]; then
        echo "K3s Worker 安装脚本执行失败，请检查网络或脚本内容。"
        exit 1
    fi
}

# 检查 K3s 可执行文件是否存在
check_k3s_executable() {
    if [ -f "/usr/local/bin/k3s" ]; then
        echo "K3s 可执行文件已成功安装"
    else
        echo "K3s 可执行文件未找到，请检查安装过程是否出错"
    fi
}

# 主流程
clear_proxy
check_root
install_k3s_worker
check_k3s_executable

# 输出安装完成信息
echo "K3s Worker 节点安装完成"